package cn.jingzhuan.element.demo.view.util.audio


/**
 * Created by KNOX.
 */
interface Playback {

  /**
   * 准备
   */
  fun prepare(audio : Audio)

  /**
   * 播放
   */
  fun start()

  /**
   * 是否播放中
   */
  fun isPlaying() : Boolean?

  /**
   * 长度
   */
  fun duration() : Int?

  /**
   * 当前进度
   */
  fun currentPosition() : Int?

  /**
   * 暂停
   */
  fun pause()
  
  /**
   * 停止播放
   */
  fun stop()

  /**
   * 继续
   */
  fun resume()
  
  /**
   * 定位
   */
  fun seekTo(second : Int)

  /**
   * 释放资源
   */
  fun release()

  interface Callback {
    fun onPrepared()
    fun onCompelte()
    fun onPrepareFailed(error : String)
  }

  fun setCompleteCallback(callback : Callback?)
}